#include<bits/stdc++.h>
using namespace std;
const int MAXN=100005;
int n,r[MAXN];
int frnt,bck;
int ans;
bool vis[MAXN];
int qread(){
    int x=0;
    char c=getchar();
    int f=1;
    for(;!isdigit(c);c=getchar()){
        if(c=='-'){
            f=-1;
        }
    }
    for(;isdigit(c);c=getchar()){
        x=(x<<3)+(x<<1)+(c^48);
    }
    return x*f;
}
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    n=qread();
    for(int i=1;i<=n;i++){
        r[i]=qread();
    }
    sort(r+1,r+n+1);
    frnt=1;
    bck=1;
    while(frnt<n){
        frnt++;
        if(r[frnt]>r[bck]){
            vis[bck]=true;
            bck++;
        }
    }
    for(int i=1;i<=n;i++){
        if(vis[i]==false){
            ans++;
        }
    }
    printf("%d",ans);
    return 0;
}
